package net.qiqb.dao.mybatis.plus.event;

import net.qiqb.core.domain.event.types.DomainEventStatus;

import java.util.List;

public interface DomainEventDao {

    /**
     * 同一个事务里批量保存领域事件。
     *
     * @param domainEventPOS
     * @return false。保存失败
     */
    boolean save(List<DomainEventPO> domainEventPOS);

    /**
     * 获取准备好的领域事件
     *
     * @return
     */
    List<DomainEventPO> listReady();

    boolean updateStatusById(String id, DomainEventStatus status);
}
